<?php
/**
 * 清理未使用的前端文件（基于实际分析结果）
 */

// 前端目录
$frontendDir = __DIR__ . '/../../merchant';
$backupDir = __DIR__ . '/backups/frontend_cleanup_' . date('Y-m-d_H-i-s');

if (!is_dir($backupDir)) {
    mkdir($backupDir, 0755, true);
}

echo "📁 前端目录: $frontendDir\n";
echo "📦 备份目录: $backupDir\n";

// 需要清理的文件列表（基于实际分析结果）
$filesToClean = [
    // 未使用的页面
    'src/views/site/Document.vue',
    'src/views/console/Detail.vue',
    
    // 冗余的入口文件
    'src/main-enhanced.js',
    
    // 未使用的资产文件
    'src/assets/bg.png',
    'src/assets/logo.svg',
];

$cleanedFiles = [];

foreach ($filesToClean as $file) {
    $sourcePath = $frontendDir . '/' . $file;
    
    if (file_exists($sourcePath)) {
        echo "\n🔍 处理文件: $file\n";
        
        // 创建备份目录结构
        $backupSubDir = dirname($backupDir . '/' . $file);
        if (!is_dir($backupSubDir)) {
            mkdir($backupSubDir, 0755, true);
        }
        
        // 备份文件
        $backupPath = $backupDir . '/' . $file;
        if (copy($sourcePath, $backupPath)) {
            echo "✅ 备份成功: $file\n";
            
            // 删除原文件
            if (unlink($sourcePath)) {
                echo "✅ 删除成功: $file\n";
                $cleanedFiles[] = $file;
            } else {
                echo "❌ 删除失败: $file\n";
            }
        } else {
            echo "❌ 备份失败: $file\n";
        }
    } else {
        echo "⚠️  文件不存在: $file\n";
    }
}

echo "\n🎉 前端文件清理完成！\n";
echo "📊 清理文件统计:\n";
echo "- 总处理文件数: " . count($filesToClean) . "\n";
echo "- 成功清理文件数: " . count($cleanedFiles) . "\n";

// 生成恢复脚本
$restoreScript = $backupDir . '/restore_files.php';
$restoreContent = "<?php
/**
 * 恢复被清理的前端文件
 * 运行此脚本可以恢复所有被清理的文件
 */

\$backupDir = __DIR__;
\$frontendDir = __DIR__ . '/../../merchant';
\$filesToRestore = " . var_export($cleanedFiles, true) . ";

foreach (\$filesToRestore as \$file) {
    \$sourcePath = \$backupDir . '/' . \$file;
    \$targetPath = \$frontendDir . '/' . \$file;
    
    if (file_exists(\$sourcePath)) {
        // 创建目标目录
        \$targetDir = dirname(\$targetPath);
        if (!is_dir(\$targetDir)) {
            mkdir(\$targetDir, 0755, true);
        }
        
        if (copy(\$sourcePath, \$targetPath)) {
            echo \"✅ 恢复成功: \$file\\n\";
        } else {
            echo \"❌ 恢复失败: \$file\\n\";
        }
    } else {
        echo \"⚠️  备份文件不存在: \$file\\n\";
    }
}

echo \"\\n🎉 前端文件恢复完成！\\n\";
";

file_put_contents($restoreScript, $restoreContent);
echo "🔄 恢复脚本已生成: restore_files.php\n";

// 生成清理清单
$cleanupList = $backupDir . '/cleanup_summary.md';
$cleanupContent = "# 前端文件清理清单

## 清理时间
" . date('Y-m-d H:i:s') . "

## 备份目录
$backupDir

## 清理文件列表
";

foreach ($cleanedFiles as $file) {
    $cleanupContent .= "- ✅ $file\n";
}

$cleanupContent .= "
## 清理原因
1. Document.vue - 未在路由中引用的页面文件
2. Detail.vue - 旧版详情页，已被 AppDetail.vue 替代
3. main-enhanced.js - 与 main.js 重复的冗余入口文件
4. bg.png 和 logo.svg - 未在任何代码中使用的资产文件

## 后续步骤
1. 重新构建前端项目:
   ```bash
   cd merchant
   npm run build
   ```

2. 验证所有功能正常:
   - 访问首页: http://localhost:5173
   - 测试登录/注册功能
   - 验证控制台页面正常加载
   - 检查会员中心功能

## 恢复方法
如需恢复这些文件，请运行:
```bash
php $restoreScript
```

## 注意事项
- 清理前已进行完整备份
- 清理的文件可以在备份目录中找到
- 恢复脚本可以一键恢复所有文件
- 建议在恢复后重新构建项目
";

file_put_contents($cleanupList, $cleanupContent);
echo "📋 清理清单已生成: cleanup_summary.md\n";